package cn.woniu.ecommerceplatform.mapper;

import cn.woniu.ecommerceplatform.entity.Customer;

import java.util.List;

public interface CustomerMapper {


    /**
     * 查询会员列表,带分页
     * @param phone
     * @param name
     * @param level
     * @return
     */
    List<Customer> queryCustomer(String phone,String name,String level);

    Integer insertCustomer(Customer customer);

    /**
     * 更新会员信息:修改昵称,修改等级,修改电话,修改备注
     * @param customer
     * @return
     */
    Integer updateCustomer(Customer customer);

    Integer deleteCustomerById(Integer id);
    Customer selectCustomerById(Integer id);

    /**
     * 根据账号account查询退换货次数
     */
    Customer queryReturnNumberOfTimesByAccount(String account);

    /**
     * 模糊查询黑名单,
     */
    List<Customer> queryBlackList(String phone,String name);

    /**
     * 移除黑名单
     */
    Integer removeBlackList(String account);

    /**
     * 加入黑名单
     */
    Integer insertBlackList(String account);

    /**
     * 根据账号查询会员信息
     * @param account
     * @return
     */
    Customer selectByAccount(String account);

    /**
     * 支付结算积分的功能.
     * param: String account,Integer pointNeed
     * return: integer
     */
    Integer countPoint(String account,Integer pointNeed);

    /**
     * 注册验证account是否唯一
     * @param account
     * @return
     */
    Customer queryAccount(String account);

    /**
     * 注册新增
     * @param customer
     * @return
     */
    Integer insertRegister(Customer customer);

    /**
     * 通过账号查询id
     * @param account
     * @return
     */
    Integer queryIdByAccount(String account);

    /**
     * 根据账户account和实际支付订单金额, 增加会员积分
     */
    Integer addPoint(String account,Double actualPay);

    /**
     * 会员查询自己的可显示信息
     * @param account
     * @return
     */
    Customer selectMyself (String account);

    /**
     * 会员通过id修改自己的信息
     * @param customer
     * @return
     */
    Integer updateCustomByAccountMy(Customer customer);
}
